/*
 * Bonus.h
 *
 *  Created on: Jun 12, 2012
 *      Author: gonzalo
 */

#ifndef BONUS_H_
#define BONUS_H_

#include "../../WidgetMovimiento.h"


#define BONUS_DEFAULT_SHOW_TIME 400
#define BONUS_DEFAULT_DAMAGE 0

//Last item is for the size of the Enum
enum BonusType{BASIC_SHIELD, SUPER_SHIELD, MISSILE, LASER, MINA, INVISIBLE, COUNT ,USER_INFO , BULLET };


class Bonus: public WidgetMovimiento {
public:
	Bonus(BonusType type, int posX, int posY, std::string imagePath,float duration,Widget* parent);

	virtual void handleColision(WidgetMovimiento* with);

	/*
	 * Se usa para posicionar en la lista de
	 * equipamiento disponible
	 */
	void updatePosicion(int posX,int posY);

    BonusType getBonusType() const;

    DTOBonus* getDTO(std::string owner);

	virtual ~Bonus();

private:
	BonusType bonusType;
	float duration;
};

#endif /* BONUS_H_ */
